/*
Copyright 2009 Jeff Carnes

This file is part of Fluant.

Fluant is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

Fluant is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

package com.amiasleep.fluant.flaPublisher.io;

import java.io.File;

import com.amiasleep.fluant.flaPublisher.enums.ActionscriptVersion;
import com.amiasleep.fluant.flaPublisher.enums.SWFVersion;


public class SWFOutput {
	
	private File _file;
	private boolean topDown;
	private boolean generateReport;
	private boolean protectFromImport;
	private boolean omitTraceActions;
	private short jpegQuality;
	private SWFVersion version;
	private boolean overrideSounds;
	private ActionscriptVersion actionscriptVersion;
	private int exportFrameForClasses;
	private boolean permitDebugging;
	private String password;
	private String documentClass;

	public SWFOutput() {
		// TODO Auto-generated constructor stub
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getName()
	 */
	public File getFile()
	{
		return _file;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setName(java.lang.String)
	 */
	public void setFile(File swfFile)
	{
		_file = swfFile;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getTopDown()
	 */
	public boolean getTopDown()
	{
		return topDown;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setTopDown(boolean)
	 */
	public void setTopDown(boolean isTopDown)
	{
		topDown = isTopDown;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getGenerateReport()
	 */
	public boolean getGenerateReport()
	{
		return generateReport;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setGenerateReport(boolean)
	 */
	public void setGenerateReport(boolean doGenerate)
	{
		generateReport = doGenerate;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getProtectFromImport()
	 */
	public boolean getProtectFromImport()
	{
		return protectFromImport;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setProtectFromImport(boolean)
	 */
	public void setProtectFromImport(boolean doProtect)
	{
		protectFromImport = doProtect;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getOmitTraceActions()
	 */
	public boolean getOmitTraceActions()
	{
		return omitTraceActions;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setOmitTraceActions(boolean)
	 */
	public void setOmitTraceActions(boolean omit)
	{
		omitTraceActions = omit;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getJpegQuality()
	 */
	public short getJpegQuality()
	{
		return jpegQuality;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setJpegQuality(short)
	 */
	public void setJpegQuality(short quality)
	{
		if(quality > 100)
		{
			jpegQuality = 100;
		}
		else if(quality < 0)
		{
			jpegQuality = 0;
		}
		else
		{
			jpegQuality = quality;
		}
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getVersion()
	 */
	public SWFVersion getVersion()
	{
		return version;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setVersion(com.amiasleep.fluant.flaPublisher.enums.SWFVersion)
	 */
	public void setVersion(SWFVersion version)
	{
		this.version = version;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getOverrideSounds()
	 */
	public boolean getOverrideSounds()
	{
		return overrideSounds;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setOverrideSounds(boolean)
	 */
	public void setOverrideSounds(boolean doOverride)
	{
		overrideSounds = doOverride;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getActionscriptVerison()
	 */
	public ActionscriptVersion getActionscriptVerison()
	{
		return actionscriptVersion;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setActionscriptVersion(com.amiasleep.fluant.flaPublisher.enums.ActionscriptVersion)
	 */
	public void setActionscriptVersion(ActionscriptVersion version)
	{
		actionscriptVersion = version;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getExportFrame()
	 */
	public int getExportFrame()
	{
		return exportFrameForClasses;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setExportFrame(int)
	 */
	public void setExportFrame(int frame)
	{
		exportFrameForClasses = frame;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getPermitDebugging()
	 */
	public boolean getPermitDebugging()
	{
		return permitDebugging;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setPermitDebugging(boolean)
	 */
	public void setPermitDebugging(boolean permit)
	{
		permitDebugging = permit;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getPassword()
	 */
	public String getPassword()
	{
		return password;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setPassword(java.lang.String)
	 */
	public void setPassword(String password)
	{
		this.password = password;
	}
	
	
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#getDocumentClass()
	 */
	public String getDocumentClass()
	{
		return documentClass;
	}
	
	/* (non-Javadoc)
	 * @see com.amiasleep.fluant.flaPublisher.io.ISWFOutput#setDocumentClass(java.lang.String)
	 */
	public void setDocumentClass(String docClass)
	{
		documentClass = docClass;
	}
	
	

}
